package cliente.servico;

import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JOptionPane;

import cliente.tipos.Servico;

import mensagens.EnviaDados;
import mensagens.ManterServico;
import mensagens.Mensagem;
import mensagens.TipoMensagem;

@SuppressWarnings("serial")
public class AcoesInserirServico extends AbstractAction{

	private InserirServico is;
	
	public AcoesInserirServico(InserirServico is) {
		setIs(is);
	}
	
	@Override
	public void actionPerformed(ActionEvent ev) {
		if("inserir".equals(ev.getActionCommand())){
			Servico service = new Servico();
			ManterServico mis = new ManterServico(1);
			
			service.setDescricao(getIs().getDescticaoText().getText().trim());
			if(service.getDescricao().length() == 0) {
				JOptionPane.showMessageDialog(getIs().getTfInserirServico(),"Descição não pode ficar em branco!", "Erro!",JOptionPane.ERROR_MESSAGE);
				return;
			}
			try{
				service.setPreco(new Double(getIs().getPrecoText().getText().trim()));
			} catch (NumberFormatException nfe){
				nfe.printStackTrace();
				JOptionPane.showMessageDialog(getIs().getTfInserirServico(),"Preço em formato errado! Não utilize '.' nem ',' ", "Erro!",JOptionPane.ERROR_MESSAGE);
				// getIs().getTfInserirServico().dispose();
				return;
			}
			
			mis.setServico(service);
			
			Mensagem mess = EnviaDados.enviarMensagem(mis);
			if(mess instanceof ManterServico){
				mis = (ManterServico) mess;
			}
			
			if(mis.getTipoManterServico() == 11){
				JOptionPane.showMessageDialog(getIs().getTfInserirServico(),"Servico adicionado com sucesso!", "Info!",JOptionPane.INFORMATION_MESSAGE);
				getIs().getTfInserirServico().dispose();
			} else {
				getIs().getTfInserirServico().dispose();
			}
			
		} else {
			if("fecha".equals(ev.getActionCommand())){
				getIs().getTfInserirServico().dispose();
			}
		}
	}

	public void setIs(InserirServico is) {
		this.is = is;
	}

	public InserirServico getIs() {
		return is;
	}

	
}
